// RUN: %clang_cc1 %s -ast-dump -ast-dump-filter S | FileCheck -strict-whitespace %s

struct S {};

void f() {
    S i;
    i = i;
}

// CHECK: CXXConstructorDecl {{.*}} implicit used constexpr S 'void (){{.*}} __generic noexcept'
// CHECK: CXXConstructorDecl {{.*}} implicit constexpr S 'void (const __generic S &){{.*}} __generic'
// CHECK: CXXConstructorDecl {{.*}} implicit constexpr S 'void (__generic S &&){{.*}} __generic'
// CHECK: CXXMethodDecl {{.*}} implicit used constexpr operator= '__generic S &(const __generic S &){{.*}} __generic noexcept'
// CHECK: CXXMethodDecl {{.*}} implicit constexpr operator= '__generic S &(__generic S &&){{.*}} __generic'
